package com.ftf.tp.blog.application.assembler;

import com.ftf.tp.blog.application.vo.TagVO;
import com.ftf.tp.blog.domain.article.valobj.TagValue;
import com.ftf.tp.blog.domain.configuration.dos.TagDO;
import com.ftf.tp.blog.application.dto.TagDTO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * 标签相关领域对象转换器
 *
 * @author tanghao
 * @date 2022/6/28
 */
@Mapper
public interface TagAssembler {

    TagAssembler INSTANCE = Mappers.getMapper(TagAssembler.class);

    TagDO dtoToDo(TagDTO tagDTO);

    List<TagDO> dtoListToDOList(List<TagDTO> tagDTOList);

    List<TagValue> dtoToValue(List<TagDTO> tagDTOList);

    List<TagVO> doToVoList(List<TagDO> tagDOList);
}
